﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Viewer.BusinessObject.BusinessEntities;
using Ext.Net;

namespace Viewer.NhanSu.UserControl
{
    public partial class UCKhenThuong : System.Web.UI.UserControl
    {
        NSKhenThuong khenThuong = new NSKhenThuong();
        private List<NSKhenThuong> lst;
        NSNhanVien nhanvien = new NSNhanVien();
        CommonCode common = new CommonCode();
        protected void Page_Load(object sender, EventArgs e)
        {

        }
        private void ResetControl()
        {
            dtNgay.Text = DateTime.Today.ToString("dd/MM/yyyy");
            txtHinhThuc.Text = string.Empty;
            txtTenKhenThuong.Text = string.Empty;
            txtGhiChu.Text = string.Empty;
            UCQuyetDinh.ResetControl(common.KhenThuong);
        }
        [DirectMethod]
        public void ShowDialog(string type, string hdId, string nhanvienID, string typeParent)
        {
            hdNhanVienId.Text = nhanvienID;
            hdKTId.Text = hdId;
            if (type.Equals("AddNew"))
            {
                wdKhenThuong.Title = "Tạo mới khen thưởng";
                ResetControl();
                hdType.Text = type;
                btnSave_KT.Hidden = false;
                hdParentType.Text = typeParent;
            }
            else if (type.Equals("Edit"))
            {
                wdKhenThuong.Title = "Sửa đổi khen thưởng";
                hdType.Text = type;
                btnSave_KT.Hidden = false;
                LoadDataKT(Convert.ToInt16(hdId));
            }
            else if (type.Equals("View"))
            {
                wdKhenThuong.Title = "Xem chi tiết khen thưởng";
                hdType.Text = type;
                btnSave_KT.Hidden = true;
                LoadDataKT(Convert.ToInt16(hdId));
            }
            wdKhenThuong.Show();
        }
        public void LoadDataKT(int id)
        {
            lst = (List<NSKhenThuong>)Session["KT"];
            NSKhenThuong item = lst.Where(a => a.KhenThuongId.Equals(id)).SingleOrDefault();
            dtNgay.Text = item.NgayKhenThuong != null ? ((DateTime)item.NgayKhenThuong).ToString("dd/MM/yyyy") : string.Empty;
            txtHinhThuc.Text = item.LoaiKhenThuong;
            txtTenKhenThuong.Text = item.TenKhenThuong;
            txtGhiChu.Text = item.GhiChu;
            int qdID = item.QuyetDinhID.HasValue ? item.QuyetDinhID.Value : 0;
            hdQDID.Value = qdID.ToString();
            if (qdID > 0)
            {
                UCQuyetDinh.Command(common.CommandLoadByID, qdID);
            }
        }
        protected void btnSaveKT_CLick(object sender, DirectEventArgs e)
        {
            DateTime ngayHieuLuc = Convert.ToDateTime(dtNgay.Text);

            int nhanVienId = !string.IsNullOrEmpty(hdNhanVienId.Text) ? Convert.ToInt16(hdNhanVienId.Text) : 0;

            if (hdType.Text.Equals("AddNew"))
            {
                int qdID = UCQuyetDinh.TaoMoiQuyetDinh();
                NSKhenThuong item = khenThuong.GetKhenThuong(nhanVienId, ngayHieuLuc, txtTenKhenThuong.Text, txtHinhThuc.Text, txtGhiChu.Text, qdID);
                ((UCNhanVien)this.Parent).GetKhenThuong(item);
            }
            else if (hdType.Text.Equals("Edit"))
            {
                 int qdID =0;
                //Edit quyết định
                if (Convert.ToInt16(hdQDID.Value) > 0)
                {
                    UCQuyetDinh.Command(common.CommandSua, Convert.ToInt16(hdQDID.Value));
                }
                else
                {
                    //Nếu không có record nào thì sẽ tạo mới
                    qdID = UCQuyetDinh.TaoMoiQuyetDinh();
                }
                khenThuong.EditKT(Convert.ToInt16(hdKTId.Text), ngayHieuLuc, txtGhiChu.Text, txtTenKhenThuong.Text, txtHinhThuc.Text, qdID);
                ((UCNhanVien)this.Parent).ReloadGrid("KT");
            }
            X.Mask.Hide();
            wdKhenThuong.Hide();

        }
    }
}